package com.dominator.service;

import com.dominFramework.core.typewrap.Dto;
import com.dominator.mybatis.dao.T_accountPO;
import com.dominator.utils.api.ApiMessage;
import com.dominator.utils.exception.ApiException;

public interface ApiAccountService {


	/**
	 * 设置支付密码
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  setPayPassword(Dto dto) throws ApiException;


	/**
	 * 充值
	 * @param 
	 * @return
	 * @throws ApiException
	 */
	ApiMessage recharge(Dto dto) throws ApiException;
	
	
	/**
	 * 提现
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  withdraw(Dto dto) throws ApiException;
	
	
	
	/**
	 * 红包奖励
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  redPacket(Dto dto) throws ApiException;
	
	
	/**
	 * 添加积分
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  addPoints(Dto dto) throws ApiException;

	/**
	 * 添加余额
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  addMoney(Dto dto) throws ApiException;


	/**
	 * 查询帐户信息
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  getAccount(Dto dto) throws ApiException;



	/**
	 * 扣减余额
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  deductMoney(Dto dto) throws ApiException;


	/**
	 * 扣减积分
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  deductPoints(Dto dto) throws ApiException;


	/**
	 * 转赠积分
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  transferPoints(Dto dto)throws  ApiException;

	/**
	 * 余额充积分
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  moneyToPoints(Dto dto)throws  ApiException;


	/**
	 * 查询帐户信息
	 * @param userId
	 * @return
	 * @throws ApiException
	 */
	T_accountPO getAccountByUserId(String userId) throws ApiException;

	/**
	 * 转赠余额
	 * @param dto
	 * @return
	 * @throws ApiException
	 */
	ApiMessage  transferMoney(Dto dto)throws  ApiException;
	
}
